Regular Expressions (regex) হল একটি শক্তিশালী টুল যা টেক্সটের মধ্যে প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয়। AWK এ রেগুলার এক্সপ্রেশনগুলি টেক্সট ডেটা বিশ্লেষণ, ফিল্টারিং এবং পরিবর্তনের কাজকে সহজ করে। নিচে AWK এ রেগুলার এক্সপ্রেশন ব্যবহার করে টেক্সট ম্যাচিংয়ের বিভিন্ন পদ্ধতি আলোচনা করা হলো।
রেগুলার এক্সপ্রেশন একটি নির্দিষ্ট প্যাটার্নের জন্য স্ট্রিং (লেখা) অনুসন্ধানের একটি উপায়। এটি বিশেষ চিহ্ন এবং সিনট্যাক্স ব্যবহার করে বিভিন্ন ধরণের টেক্সট প্যাটার্ন নির্দেশ করে। কিছু সাধারণ রেগুলার এক্সপ্রেশন চিহ্ন হল:
.
: যেকোন একক অক্ষর*
: পূর্ববর্তী অক্ষর 0 বা তার বেশি বার+
: পূর্ববর্তী অক্ষর 1 বা তার বেশি বার?
: পূর্ববর্তী অক্ষর 0 বা 1 বার^
: স্ট্রিংয়ের শুরু$
: স্ট্রিংয়ের শেষ[]
: একটি সেট, যেকোন এক অক্ষর নির্দেশ করে (যেমন [abc]
মানে a, b, অথবা c)|
: অথবাAWK এ রেগুলার এক্সপ্রেশন ব্যবহার করে টেক্সটের মধ্যে প্যাটার্ন খুঁজে বের করা যায় এবং বিভিন্ন শর্ত অনুযায়ী ডেটা প্রক্রিয়া করা যায়।
awk '/error/ {print $0}' logfile.txt
এটি logfile.txt
ফাইলের মধ্যে "error" শব্দযুক্ত সব লাইন প্রিন্ট করবে।
awk '/^start/ {print $0}' filename.txt
এটি filename.txt
ফাইলের মধ্যে যেসব লাইন "start" শব্দ দিয়ে শুরু হয়, সেগুলি প্রিন্ট করবে।
awk '/end$/ {print $0}' filename.txt
এটি filename.txt
ফাইলের মধ্যে যেসব লাইন "end" শব্দ দিয়ে শেষ হয়, সেগুলি প্রিন্ট করবে।
awk '/[A-Z]/ {print $0}' filename.txt
এটি filename.txt
ফাইলের মধ্যে যেসব লাইন অন্তত একটি বড় হাতের অক্ষর (A-Z) রয়েছে, সেগুলি প্রিন্ট করবে।
awk '$1 ~ /^[0-9]+$/ {print $0}' filename.txt
এটি filename.txt
ফাইলের মধ্যে যেসব লাইন প্রথম ফিল্ডে শুধুমাত্র সংখ্যা (0-9) রয়েছে, সেগুলি প্রিন্ট করবে।
awk '{gsub(/oldword/, "newword"); print $0}' filename.txt
এটি filename.txt
ফাইলে "oldword" শব্দটি "newword" দিয়ে পরিবর্তন করে নতুন টেক্সট প্রিন্ট করবে।
AWK এ রেগুলার এক্সপ্রেশন ব্যবহার করে টেক্সট ডেটার মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা এবং প্রক্রিয়া করা সহজ এবং কার্যকর। এটি ডেটা বিশ্লেষণের সময় কার্যকরী টুল হিসেবে কাজ করে। AWK এর এই বৈশিষ্ট্যগুলি ডেটা ফাইলগুলির মধ্যে তথ্য বের করতে এবং বিশ্লেষণ করতে সাহায্য করে, যা বিভিন্ন প্রয়োজনে অত্যন্ত কার্যকরী।
common.read_more